package cn.iune.erp.sale;

import java.io.IOException;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;

import cn.iune.erp.inventory.StorageRecord;


public interface ISaleService {


	Map<String, Object> saleOrderConfirm(String rowID);

	Map<String, Object> saleOrderActive(String rowID);

	Map<String, Object> saleOrderUnAgree(String rowID);

	Map<String, Object> saleOrderClose(String rowID);

	Map<String, Object> saleOrderOpen(String rowID);



	Map<String, Object> saleOrderAgreeIt(String rowID);

	

//	SaleOrder saleOrderXSDDFromH5(JSONObject data) throws ParseException;


	void saleOrderPrintPDF(String fID, Document doc) throws DocumentException, IOException;




	void afterInsertOrderDetail(SaleOrderDetail obj);

	void beforeDeleteOrderDetail(String fID);



	JSONObject saleOrderPrintWEB(String fID);


	Map<String, Object> storageRecordConfirm(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> storageRecordActive(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> storageRecordAgreeIt(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> storageRecordUnAgree(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> storageRecordClose(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> storageRecordOpen(String rowID, String cUsercode, String cUsername, String userId,
			String employeeNo, String employeeName);

	void invXSCKPrintPDF(String fID, Document doc) throws Exception;

	void invXSRKPrintPDF(String fID, Document doc) throws Exception;

	StorageRecord storageRecordXSCKInsert(SaleOrder saleOrder, int flowType, String cUsercode, String cUsername,
			String userId, String employeeNo, String employeeName);

	StorageRecord storageRecordBACKInsert(StorageRecord storageSource, String cUsercode, String cUsername,
			String userId, String autoState, int flowType, String autoPayment, String employeeNo, String employeeName);











}